[Parquet] ALP encoder/decoder support - #9372
Conversation
|
amaaazing |
|
@alamb I worked with codex on replicating the c++ implementation reviewing commit by commit. I'll do one final read myself, but this should be ready for initial review. |
|
Thank you -- I will put this on my short list to reivew I was out last week |
|
@devanbenz Sorry for taking so long to address your comments. I'll make sure to work on it this week! |
devanbenz
left a comment
There was a problem hiding this comment.
Comment about header regarding publication of spec.
|
Thanks @devanbenz, I've finally addressed your reviews! |
Please cargo fmt the code 🫡 |
|
|
|
Thanks @sdf-jkl -- I will try and find tiume to review this (probably not until the weekend though as I have to sort out the next object store release before |
StreamingPage<F> encodes pages 2..N vector-by-vector as values arrive via put(), holding only a <1024 carry plus the compressed body instead of buffering the whole page. Page 1 still buffers to build the preset. Output is provably byte-identical to the buffered encoder (pinned by test_streaming_matches_buffered / test_streaming_irregular_puts). Adds an #[ignore]d rdtsc throughput bench (mod throughput) reporting cyc/val for encode buffered/streaming and decode. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
@alamb @devanbenz PTAL ( ~1400 locs are tests, so it's less scary than it looks like 😃 ) We might want to push apache/parquet-testing#105 first ... |
Which issue does this PR close?
Rationale for this change
check issue
What changes are included in this PR?
Are these changes tested?
Are there any user-facing changes?